const Mock=require('mockjs');
// const baseURL='dev-api';
const data={//自己造的假数据，怎么放到response里面？
  pageNum:10,
  pageSize:10,
  list:[]
}
for(let i=0;i<10;i++){
  data.list.push({
    courseName: Mock.Random.cword(6),
    introduction: Mock.Random.cparagraph(2),
    textbook: Mock.Random.cword(6),
    authority:Mock.Random.natural(1,3)
  })
}
// console.log(data);  moudle ==> module
// module.export=[
//   {
//     url:'/user/userInfo2',
//     type: 'get',
//     response:(req,res)=>{//这里自己定义好了要返回的data是什么了。
//       return Mock.mock({
//         respCode: '20000',
//         data
//       })
//     }
//   }
// ]
const tokens = {
  admin: {
    token: 'admin-token'
  },
  editor: {
    token: 'editor-token'
  },
  admin2:{
    token: 'my-admin-token'
  }

}
const users = {
  'admin-token': {
    roles: ['admin'],
    introduction: 'I am a super administrator',
    avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
    name: 'Super Admin'
  },
  'editor-token': {
    roles: ['editor'],
    introduction: 'I am an editor',
    avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
    name: 'Normal Editor'
  },
  'my-admin-token': {
    roles: ['admin2'],
    introduction: 'I am super administrator 唐家沆',
    // avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
    name: 'Super Admin TJH'
  },
}

module.exports = [//还少不了！！！！！
  // user login
  {
    url: '/user/userInfo2',//谁在请求它,语法是啥子？
    type: 'post',
    response: config => {//config是传过来的参数对象吗？
      const { username } = config.body
      const token = tokens[username]
      // mock error
      if (!token) {
        return {
          code: 60204,
          message: 'Account and password are incorrect.'
        }
      }
      console.log("哈哈哈");
      console.log("mock文件夹下course.js中 的config:",config);//打印不出来
      return {
        code: 20000,
        data: token,
        // config:config,//使用了它报错
        configQuery:config.query,
        configBody: config.body
      }
    }
  },

  {
    url:'/user/userInfo3\.*',
    type: 'get',
    // response: () => {//可以不要config
    //   return {
    //     code: 20000,
    //     data: data
    //   }
    // }
    response: (config)=> {//这里自己定义好了要返回的data是什么了。  可能没有config这个东东 ,可能没有Mock.mock,可能req,res不用。最终原因:code必须要有！！
      return Mock.mock({
        code:20000,//这样就对了。
        respCode: '20000',
        data:data,
        dataQuery:config.query.str
        // data1:data1.body,
        // data2:data2.body,
        // data3:data3.body
      })
      // return {
      //   Data: data,
      //   code: 20000,//这里不允许Code,C首字母大写要报错，其他的倒不会！！！！
      // }
    }
  }
  ,
  {
    url: '/vue-admin-template/user/info\.*',
    type: 'get',
    response: config => {
      const { token } = config.query
      const info = users[token]

      // mock error
      if (!info) {
        return {
          code: 50008,
          message: 'Login failed, unable to get user details.'
        }
      }

      return {
        code: 20000,
        data: token
      }
    }
  },

]
// module.exports = [
//   {
//     url:'/user/userInfo3',
//     type: 'get',
//     //config就是传过来的参数对象,这里为空，因为前端没传，api也没写接收参数（当然前端也可传）
//     response:(config) => {//这里自己定义好了要返回的data是什么了。error最终原因:code必须要有！！
//       return Mock.mock({
//         code:20000,//这样就对了，error最终原因:code必须要有！！。
//         respCode: '20000',
//         config: config.body,
//         data//data: data
//       })
//     }
//   }
// ]
